#!/bin/bash -e

source "${BASH_SOURCE%/*}/_realpath"

CMD="$(realpath "$0")"
DIR="$(dirname "${CMD}")"
BASE_DIR="$(dirname "${DIR}")"
CONFIG_DIR="${BASE_DIR}/config"

echo_bold() {
  printf "\\033[1m%s\\033[0m\\n" "$@"
}

VERSIONS_FILE="${BASE_DIR}/compose/versions"
if [ ! -f "$VERSIONS_FILE" ]; then
  echo_bold "No service versions defined in ${VERSIONS_FILE}"
  exit 1
fi

ENV_FILE="${CONFIG_DIR}/activate"
if [ ! -f "$ENV_FILE" ]; then
  echo_bold 'No configuration found; please create one first with: ./scripts/quickstart'
  echo_bold 'See README.md for help.'
  exit 1
fi

source "${ENV_FILE}"

# only include the MDNS publisher IF the domain is valid...
if [ ${OPENBALENA_HOST_NAME: -6} == ".local" ]; then
  INCLUDE_MDNS="-f ${BASE_DIR}/compose/mdns.yml"
fi

# shellcheck source=/dev/null
source "${VERSIONS_FILE}"; docker-compose \
  --project-name 'openbalena' \
  -f "${BASE_DIR}/compose/services.yml" \
  ${INCLUDE_MDNS} \
  -f "${CONFIG_DIR}/docker-compose.yml" \
  "$@"
